﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using V = Science.Mathematics.VectorCalculus;

namespace VectorCalculus5Ed.Chapter1.Section5
{
    public class Example04
    {
        public Example04()
		{
		}
		private string result;
		public string Result
		{
			get{return result;}
		}
		public void Compute()
		{
            V.Matrix A = new V.Matrix(3, 3);

            A[0, 0] = 1.0;
            A[0, 1] = 0.0;
            A[0, 2] = 3.0;
            A[1, 0] = 2.0;
            A[1, 1] = 1.0;
            A[1, 2] = 0.0;
            A[2, 0] = 1.0;
            A[2, 1] = 0.0;
            A[2, 2] = 0.0;

            V.Matrix B = new V.Matrix(3, 3);

            B[0, 0] = 0.0;
            B[0, 1] = 1.0;
            B[0, 2] = 0.0;
            B[1, 0] = 1.0;
            B[1, 1] = 0.0;
            B[1, 2] = 0.0;
            B[2, 0] = 0.0;
            B[2, 1] = 1.0;
            B[2, 2] = 1.0;

            V.Matrix C = A * B;

            result += C[0, 0].ToString() + "   " + C[0, 1].ToString() + "   " + C[0, 2].ToString() + "\r\n";
            result += C[1, 0].ToString() + "   " + C[1, 1].ToString() + "   " + C[1, 2].ToString() + "\r\n";
            result += C[2, 0].ToString() + "   " + C[2, 1].ToString() + "   " + C[2, 2].ToString() + "\r\n";

            result += "\r\n";

            V.Matrix D = B * A;

            result += D[0, 0].ToString() + "   " + D[0, 1].ToString() + "   " + D[0, 2].ToString() + "\r\n";
            result += D[1, 0].ToString() + "   " + D[1, 1].ToString() + "   " + D[1, 2].ToString() + "\r\n";
            result += D[2, 0].ToString() + "   " + D[2, 1].ToString() + "   " + D[2, 2].ToString() + "\r\n";
   
        }
    }
}

/*
0   4   3
1   2   0
0   1   0

2   1   0
1   0   3
3   1   0
*/